The present invention relates to digital computer systems, and more particularly, to digital data compression schemes employed in digital computer systems.
Digital computer systems perform data compression to realize a more efficient use of finite storage space. The computer system typically includes a hardware component referred to as a compression accelerator, which accepts work requests or data requests from the host system to compress or decompress one or more blocks of the requested data. Traditional computer applications may require that compression services use a specific software data compression library, typically a zlib or compatible library, to execute a “DEFLATE” compatible compression algorithm to compress data and conserve storage space. The compression library generally provides a data stream based interface, which is utilized by the compression accelerator to compress/decompress the requested data. A typical data stream interface allows an application to break up input data to be compressed/decompressed in arbitrary ways across multiple requests.